package com.ww.springboot.boot.jvm2.part2;

import com.ww.springboot.boot.jvm2.part3.栈帧;
import lombok.Data;

import java.util.LinkedList;

/**
 * 描述：
 *
 * @author 🧑 ‍wanwei
 * @since 2023-01-07 16:30
 */
@Data
public class 虚拟机栈 {

    private Integer CAPACITY;

    private LinkedList<栈帧> 栈帧列表;

    public 虚拟机栈() {
    }

    public 虚拟机栈(Integer CAPACITY) {
        this.CAPACITY = CAPACITY;
    }

    public void add(栈帧 栈帧){
        if(this.栈帧列表 == null){
            栈帧列表 = new LinkedList<>();
        }
        栈帧列表.add(栈帧);
        if(栈帧列表.size() > CAPACITY){
            throw new RuntimeException("StackOverflowError--栈溢出");
        }
    }

    public void init(){
        System.out.println("--- 虚拟机栈初始化 ---");
        CAPACITY = 1000;
    }
}
